/***************************************************
 * extern的一般用法总结：
 * extern一般用在如下场景中：
 *     1、用于声明变量/函数的定义在外部（这一点与static相反）
 *     2、extern "C" 一般用于声明函数是外部的C函数，通常用语C/C++语言的混编
 * *************************************************/
#include <iostream>
using namespace std;

extern int g_val2;  // 声明一个外部变量，此变量的定义在文件外部；
extern void func2();  // 声明一个外部函数，该函数的定义在文件外部，当然如果有头文件的话，直接包括头文件也是可以的；
extern "C" void test_extern(); //  按照C语言的方式声明函数。函数的定义在外部；

int main()
{
    test_extern();
    func2();
    cout << g_val2 << endl;
    return 0;
}